package top.zywork.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * SysMenuMetaVO值对象类<br/>
 *
 * 创建于2019-09-26<br/>
 *
 * @author http://zywork.top 危锦辉
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class SysMenuMetaVO extends BaseVO {

    private static final long serialVersionUID = -9223372035437587647L;

    /**
	 * 菜单配置编号
	 */
	private Long id;
	/**
	 * 菜单名称
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 100, message = "必须是1-100个字符")
	private String title;
	/**
	 * 菜单图标
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 100, message = "必须是1-100个字符")
	private String icon;
	/**
	 * 跳转的页面
	 */
	@Size(min = 0, max = 100, message = "必须小于100个字符")
	private String href;
	/**
	 * 是否隐藏面包屑
	 */
	private Byte hideInBread;
	/**
	 * 是否隐藏菜单
	 */
	private Byte hideInMenu;
	/**
	 * 是否缓存
	 */
	private Byte notCache;
	/**
	 * 可访问角色
	 */
	@Size(min = 0, max = 500, message = "必须小于500个字符")
	private String access;
	/**
	 * 关闭前触发方法名
	 */
	@Size(min = 0, max = 100, message = "必须小于100个字符")
	private String beforeCloseName;
	/**
	 * 版本号
	 */
	private Integer version;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 是否激活
	 */
	private Byte isActive;
	
}
